This invention relates to a computer processor operating system, in particular for use in an electronic device including an embedded processor, and to a method of operation of such an operating system.
When designing a computer system, the processor operating system is an essential component of the overall system. The operating system manages all the basic functions of the computer, in that it deals with scheduling tasks, managing storage, and handling communication with peripherals. As a result, the operating system needs to be configured in a way that depends on the availability of such storage and peripherals.
Various operating systems are well known to the person skilled in the art, and it is known that a selected operating system needs to be configured for the particular hardware with which it is to be used. An operating system therefore typically includes a board support package. Specifically, the known board support package assists the user to configure the operating system as required, by presenting the user with a list of available options for various parameters of the system. The board support package then configures the operating system, based on the options selected by the user from the list of available options.
One available operating system is the eCos operating system, and a description of the process of porting the operating system to the particular hardware, can for example be found in the document “eCos Porting Guide”, available at www.embedded.com/story/OEG20011220S0059. In this document, the board support package is referred to as a Hardware Abstraction Layer (HAL).
One type of system in which an operating system needs to be configured based on the hardware in use is a system which includes a configurable hardware device. For example, in the case of a Field Programmable Gate Array, logic resources on a device can be configured in such a way that they perform specific desired functions. Such devices may also include an embedded processor, so that particular functions can be performed more efficiently. In order to assist the user to configure such devices most efficiently, it is known to provide a software tool for that purpose.
For example, the SOPC Builder software tool, available from Altera Corporation, allows a user to specify desired components of a final device and the connections between those components, and then creates the configuration data that cause the logic resources of the configurable hardware device to create those specified components and interconnections.